home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-03-17 | 53.9 KB | 1,032 lines |
- Start.of.DemoNews.116..............................................Size:55,177
-
- ______/\___________________________ __ ________________ ___ /\_______
- \____ \ ________ _ _ ______ \ / \| \ ________ | \/ ______/
- / | \ _) \ \_/ \ | \ / \ \ _) \ | \______ \
- / | \ \ | \ | \ / \ \ /~\ \ / \
- \_____ /_______/___| /________/ \____\_____/_______/_________/________/
- \_____/ |____/
- | Subscribers : 1935
- DemoNews Issue #116 - February 20, 1996 | Last Week : 1903
- ------------- | Change : +32
- DemoNews is a newsletter for the demo scene. | Archive Size : 2097M
- It is produced by Hornet at the site ftp.cdrom.com. | Last Week : 2064M
- Our demo archive is located under /pub/demos. | Remaining : 836M
- |
- =-[Contents]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- Line Section
- ------ -------------------------------------------------------------------
- 31 Calendar
- 49 Top Downloads
- 74 Uploads
- 390 Articles
- 392 Introduction................................Snowman
- 446 Intro to 3D Graphics - Volume 02............Kiwidog
- 805 VGA Hardware Tricks, Part 4/6...............Trixter
- 1008 Subscribing
- 1023 Closing
-
-
- =-[Calendar]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- Date Event Location Concact Points
- --------- ------------------- --------- -------------------------------------
- 23 Feb 96 Pre-Awakening U.S.A. cramerc@elwha.evergreen.edu
- 29 Mar 96 Mekka Germany PV80090@PH80090.HH.eunet.de
- www.xs4all.nl/~blahh/RAW/Parties
- /Invitations/Mekka.html
- 02 Apr 96 The Gathering Norway mikaels@powertech.no
- www.ifi.uio.no/~uwek/Crusaders/TG
- 06 Apr 96 X Netherlnd cba@xs4all.nl
- www.xs4all.nl/~herkel
- 31 May 96 Naid Canada naid@autoroute.net
- www.autoroute.net/~naid
-
- More information is at http://hagar.arts.kuleuven.ac.be/~sdog/party.html
-
-
- =-[Top Downloads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- NOTE: Statistics are sometimes slightly off due to symbolic links, mirrors,
- renamed files, and other things which affect the log files.
-
- <Files downloaded total : 052362>
-
- Pc Times FileName.Ext Pc Times FileName.Ext Pc Times FileName.Ext
- -- ----- --------.--- -- ----- --------.--- -- ----- --------.---
- <COMBINED LIST> <DEMOS LIST> <GRAPHICS LIST>
- 1 00452 ft205.zip 1 00179 animate.zip 1 00031 airwar.zip
- 2 00217 ice9601a.zip 2 00174 nooon_st.zip 2 00030 scarlet.zip
- 3 00193 cp16.zip 3 00163 ftj_ymca.zip 3 00028 veced300.zip
- 4 00182 ft204.zip 4 00135 cmapaim.zip 4 00028 dst_frac.zip
- 5 00179 ice9601b.zip 5 00129 cmapaifx.zip 5 00025 bedtime.zip
- 6 00179 animate.zip <MUSIC LIST> <CODE LIST>
- 7 00174 nooon_st.zip 1 00452 ft205.zip 1 00088 dn114_3d.zip
- 8 00163 ftj_ymca.zip 2 00192 cp16.zip 2 00073 kmagv2.zip
- 9 00149 scrmt321.zip 3 00182 ft204.zip 3 00068 alabv12.zip
- 10 00144 acdu0196.zip 4 00149 scrmt321.zip 4 00058 water.zip
- 5 00053 dos32v33.zip
-
- <Files downloaded total : 051933>
-
-
- =-[Uploads]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- =----------------------------------------------------------[File Information]-=
-
- All files listed below are on ftp.cdrom.com under /pub/demos.
- Please keep in mind that all ratings are subjective.
-
- If your file transfers are too slow, there are several alternatives:
-
- Our code mirror is ftp.co.iup.edu/code. ftpadmin@ftp.co.iup.edu for help.
- Try getting files from the web at http://www.cdrom.com/pub/demos
- See /hornet/demonews/demonews.102 for details about ftpmail.
-
- You may also wish to check out a couple of other good demo sites:
-
- ftp://ftp.arosnet.se/e:\demo maintained by Zodiak / Cascada
- ftp://hagar.arts.kuleuven.ac.be/demos maintained by Sleeping Dog / Natives
-
- Here are also a few good WWW links to try out (under construction):
-
- http://www.th-zwickau.de/~maz/sound.html for music and sound utils
-
- =-------------------------------------------------------------[Demos:General]-=
- Location /demos/alpha Size Rated Description
- =-------------------------------- ---- ----- ---------------------------------=
- /1994/t/thefirst.zip 283 *** The First by Strontium 90
- /1995/f/fdg_ind.zip 352 *** Indaba by Fudge
- /1996/0-9/1frame.zip 7 **** 1 Frame by Dlux
- /1996/f/frosty.arj 20 ** Frosty by Sir Hes
- /1996/n/nn.arj 243 *+ NoNameIntro by Sir Hes
-
- General Probe 1996 4k Intros (GP96:in4k:)
- /1996/a/ame_pain.zip 5 **** 01: Pain by Amnesty
-
- Juhla 1996 Demos (JUH96A:demo:)
- /1996/o/onenight.zip 261 ** EE: One-Night Stand by QP
-
- Juhla 1996 64k Intros (JUH96A:in64:)
- /1996/e/emf_porn.zip 61 ***+ 15: Porno by EMF
-
- =-------------------------------------------------------------[Music:General]-=
- Location /demos/music Size Rated Description
- =-------------------------------- ---- ----- ---------------------------------=
- /disks/1995/x/xmas95.zip 1793 **+ Xmas 95 by Epinicion
- /songs/1994/mod/f/fantasy.zip 199 **+ Fantasy World by ??
- /songs/1994/mod/m/minion.zip 137 ** Minions of Power by ?
- /songs/1995/s3m/2/2t2-sadw.zip 289 ***+ A Sad World We Live In by B00mer
- /songs/1995/s3m/a/arn_bara.zip 92 *+ Maior Abandonado by nS
- /songs/1995/s3m/a/arn_fine.zip 114 **+ I Feel Fine by nS and Minesota
- /songs/1995/s3m/a/arn_free.zip 254 *** Free as a Bird cover by Minesota
- /songs/1995/s3m/a/arn_iron.zip 182 *+ Iron Man cover by Minesota
- /songs/1995/s3m/a/arn_mk2t.zip 340 * MK 2 Techno by CJ Cyberjobe
- /songs/1995/s3m/a/arn_sdm.zip 214 *+ Short Dick Man by HBM
- /songs/1995/s3m/a/arn_strt.zip 245 *+ Funky Street Walk by CJ Cyberjobe
- /songs/1995/s3m/a/arn_tnk.zip 108 ** Thinking About You by HBM
- /songs/1995/s3m/a/ascen.zip 264 *** Ascension by Master of Darkness
- /songs/1995/s3m/e/ele-plan.zip 237 *** Planet on Acid by Elemental
- /songs/1995/s3m/f/flp-bd.zip 206 ** Bioptic Dichotomy by Asken
- /songs/1995/s3m/f/flp-wnds.zip 174 *** Windstorm by Mondo
- /songs/1995/s3m/h/highden2.zip 72 *+ High Density by Warp
- /songs/1995/s3m/j/js-cattl.zip 153 * Wonder Cattle by Speig
- /songs/1995/s3m/k/kon-no.zip 111 **+ Accept no Subs. by Flacco + Waarp
- /songs/1995/s3m/v/v8r-ap.zip 210 *** Acid Phreak by viol8r
- /songs/1995/s3m/w/wait4u.zip 3 *** Waiting for You by falcon
- /songs/1995/s3m/w/wings.zip 64 ** Wings by Warp
- /songs/1995/s3m/w/wings3.zip 101 ** Wings 3 by Warp
- /songs/1995/s3m/x/xmass.zip 329 + X-mass jam by BigpiE
- /songs/1995/s3m/y/ybbanjo.zip 156 ***+ Banjo jammin by Yannis
- /songs/1995/s3m/y/ybblub.zip 50 **+ Blubbiest Places by Yannis
- /songs/1995/s3m/y/ybecho.zip 176 ***+ Echomation by Yannis
- /songs/1995/s3m/y/ybmirac.zip 47 **+ Little Miracle by Yannis
- /songs/1995/s3m/y/ybtones.zip 67 ***+ Harmonic Tones by Yannis
- /songs/1995/s3m/z/znc-80kh.zip 72 ** Around the World in 80 by zinc
- /songs/1995/xm/f/faraway.zip 54 ** Faraway Trek by Joshua Szmajda
- /songs/1995/xm/f/flp-glid.zip 135 **+ Sunset Glider by Wolfgang Krauser
- /songs/1995/xm/f/flp-jour.zip 160 *** Journey to Sky Tower by Archon
- /songs/1995/xm/f/flp-slow.zip 274 *** Slow Love by Gillespie
- /songs/1995/xm/g/grv_jour.zip 181 *** N R Livet Leker by Zalt
- /songs/1995/xm/x/xmlookup.zip 4636 ** Lookup by Omega
- /songs/1995/xm/x/xtd_040.zip 311 ***+ Guiding Light by Virtual Rhythm
- /songs/1995/xm/x/xtd_045.zip 879 *+ Fallin Apart by Assex
- /songs/1995/xm/x/xtd_046.zip 400 **** Allegorie by Virtual Rhythm
- /songs/1995/xm/x/xtune.zip 111 *+ Xtunes by Darius
- /songs/1995/xm/z/zan-extr.zip 111 ** Extreme Overload by zanti
- /songs/1996/mod/g/grv_fun.zip 194 **+ Funkadelic's Jam by Omen
- /songs/1996/mod/h/hnz-bear.zip 140 *** Bear by Hunz
- /songs/1996/mod/h/hnz-evnt.zip 76 **+ Events by Hunz
- /songs/1996/mod/h/hnz-fary.zip 56 ** FairyFloss by Hunz
- /songs/1996/mod/h/hnz-free.zip 75 ***+ Freestyle by Hunz
- /songs/1996/mod/h/hnz-grow.zip 112 ***+ Growing to fast? by Hunz
- /songs/1996/mod/h/hnz-mile.zip 82 *** 24,000 miles by Hunz & Hollywood
- /songs/1996/mod/h/hnz-sfrn.zip 138 ** Sufferings by Hunz
- /songs/1996/mod/h/hnz-tech.zip 96 **+ Techno Horses by Hunz
- /songs/1996/mod/h/hnz-time.zip 123 *** Time Has Gone by Hunz
- /songs/1996/mod/h/hnz-tran.zip 117 ***+ Transfer by Hunz
- /songs/1996/mod/i/inspired.zip 83 *** Inspired by Strix
- /songs/1996/mod/k/k_sting.zip 255 ***+ Stingray by Hollywood
- /songs/1996/mod/l/luminous.zip 167 ** Luminous Future by Smash
- /songs/1996/mod/l/lw_venus.zip 97 **+ Venus Power by Michiru
- /songs/1996/mod/t/t_krdogg.zip 133 ** Kraq Dogg by David Weekly
- /songs/1996/mod/y/ybstrsrf.zip 174 **** Street surfin by Yannis
- /songs/1996/mtm/k/k_lodge.zip 391 ***+ Lodge of 3 Globes by Maelcum
- /songs/1996/mtm/k/k_opp.zip 87 *** Opposition by TheHacker
- /songs/1996/other/k/kx-synd.zip 435 *+ Syndicate of Death by Kxmode
- /songs/1996/other/m/mt-ww0.zip 217 **+ Wantonly Waiting by Mindtrip
- /songs/1996/other/n/no-secon.zip 107 *** Second Sight by Delta X
- /songs/1996/s3m/a/a_ap.zip 145 ***+ Atomic Plague by Matt Friedly
- /songs/1996/s3m/a/am_tpe.zip 129 ** Psychedelic Experience by Amorphis
- /songs/1996/s3m/a/arn_geek.zip 95 **+ Geek Stink Breath by Minesota
- /songs/1996/s3m/a/athought.zip 167 **** Another Night of Thought by ZaStaR
- /songs/1996/s3m/b/brokenw.zip 84 **** Broken Wings by Warp
- /songs/1996/s3m/f/foo.zip 915 ** I'll Stick Around by Stein
- /songs/1996/s3m/g/g_abort.zip 82 * Abortions Suck by Huggy Bear
- /songs/1996/s3m/h/hd-chnce.zip 88 *** No More Chances by Crus
- /songs/1996/s3m/i/iha-acid.zip 79 **+ Acidic Perspiration by Iha
- /songs/1996/s3m/j/jbmutate.zip 311 **+ Mutational Pathogen. by Schizoid
- /songs/1996/s3m/j/jezebel.zip 978 + Juke Joint Jezebel by Stein
- /songs/1996/s3m/j/judgmnt.zip 271 **+ Judgement by mJan
- /songs/1996/s3m/k/k_ballad.zip 380 **** The Last Ballad by Siren
- /songs/1996/s3m/k/k_lproof.zip 194 *+ Living Proof by GooRoo
- /songs/1996/s3m/k/k_softy.zip 204 + Softy by Karl
- /songs/1996/s3m/l/life.zip 46 ** Life is Life by ReCoder
- /songs/1996/s3m/n/nin_ruin.zip 727 ***+ Ruiner (remix) by Bedlamite
- /songs/1996/s3m/p/plasma.arj 202 **+ Plasma by Petador
- /songs/1996/s3m/p/pr-calln.zip 186 *** The Calling by Darkwolf
- /songs/1996/s3m/p/pr-stand.zip 281 ***+ Standing Close by Darkwolf
- /songs/1996/s3m/v/v-inner.zip 145 ***+ Inner Turmoil by Vegas
- /songs/1996/s3m/w/wr-ccity.zip 59 *** Century City by wraith
- /songs/1996/s3m/w/wr-utopi.zip 186 *** Utopia by wraith
- /songs/1996/s3m/y/ybfurble.zip 9 **** Invasion of Furbles by Yannis
- /songs/1996/s3m/y/ybtiny.zip 6 *** Tinypino by Yannis
- /songs/1996/s3m/y/yee-had.zip 139 **+ Yeeeeeeeehawwwwwwww! by Hadji
- /songs/1996/s3m/y/yyz.zip 391 *** Yyz by Ler
- /songs/1996/s3m/z/zn-happy.zip 195 ***+ Happy Daze by zinc
- /songs/1996/s3m/z/zn-jazzt.zip 90 **+ Jazzting by zinc
- /songs/1996/xm/e/el-defin.zip 100 *** Defining by Electric Lucidity
- /songs/1996/xm/e/eternity.zip 573 ***+ Eternity by Khyron
- /songs/1996/xm/f/fh-fperf.zip 114 ** Fake Perfection by FH
- /songs/1996/xm/f/fh-sf96.zip 117 ** Strange Feelings 96 by FH
- /songs/1996/xm/f/flp-gl01.zip 144 **+ Fallen from Grace by Gillespie
- /songs/1996/xm/f/fm-snoop.zip 292 ***+ Raping the Dog by Mellow-D
- /songs/1996/xm/f/fr-loye.zip 256 ***+ Love Opens Your Eyes by Nabo & Teo
- /songs/1996/xm/g/gl-dist.lzh 385 ***+ Distance by Glitch
- /songs/1996/xm/g/gl-lapse.lzh 226 ** Lapse by Glitch
- /songs/1996/xm/g/grv_wate.zip 110 ***+ Waterfall by Balrog
- /songs/1996/xm/h/hyperion.zip 515 **+ Hyperion by Outrage & Orc
- /songs/1996/xm/j/j-kgdsky.zip 282 ****+ Kingdom Skies by Jase
- /songs/1996/xm/k/k_mhouse.zip 581 *** My House by Vivid
- /songs/1996/xm/l/lok_deep.zip 241 *+ Deep Inside by Ganja Man
- /songs/1996/xm/l/lok_spkl.zip 155 *+ Speed Kills by Ganja Man
- /songs/1996/xm/m/maz-last.zip 284 **** Fifteen by Dynamic Harmony
- /songs/1996/xm/m/moonscpe.arj 613 *** Moonscape by Petador
- /songs/1996/xm/m/mr_clytn.zip 309 ****+ Claytons by Mick Rippon
- /songs/1996/xm/o/ophelia2.zip 350 ***+ Ophelia 2 by Xerxes
- /songs/1996/xm/p/ploff-01.zip 374 *** It Makes me Happy by Ploffer
- /songs/1996/xm/z/zan-reli.zip 185 *** Relieved by zanti
-
- The Party 1995 4-Channel Music (TP95:m4ch:)
- /songs/1995/mod/f/fountain.zip 454 ****+ 01: Fountain of Sighs by Unreal
- /songs/1995/mod/c/compact.zip 142 **** 03: Compact Caviar by Mystical
- /songs/1995/mod/k/kissmyas.zip 244 **** 05: Kissmyass by Jazz,Haujobb
- /songs/1995/mod/j/jazzin.zip 297 **** 09: Jazzin by FBY
- /songs/1995/mod/c/chico_d.zip 318 ***+ 11: Chico de Loros by Gandbox
- /songs/1995/mod/w/what_gui.zip 557 ***+ 13: What Guitar by Mindfuck
- /songs/1995/mod/t/trancepl.zip 579 *** 14: Trans Playground by Prophet
- /songs/1995/mod/p/post_ouv.zip 275 ***+ 15: Post Ouverture by Trip
- /songs/1995/mod/p/play_kid.zip 482 **** 16: Play Kid by Unison
- /songs/1995/mod/d/december.zip 164 ***+ 17: December by Pinocchio,Contraz
- /songs/1995/mod/s/sleeping.zip 119 **** 19: Energy by Laz
- /songs/1995/mod/p/party_su.zip 147 **** 20: Party Sux by Dreamer
- /songs/1995/mod/s/separate.zip 133 ***+ 21: Seperate Ways by Clawz
- /songs/1995/mod/m/magic_jo.zip 243 ***+ 22: Magic Journey by Fash
- /songs/1995/mod/s/spritzst.zip 215 *** 23: Spritzstunden by Slide G.
- /songs/1995/mod/w/world_of.zip 278 ***+ 26: World Insanity by Lizardking
- /songs/1995/mod/b/blacksil.zip 116 *+ XX: Black Silver by ???
- /songs/1995/mod/b/bnmainia.zip 100 ** XX: Bn Mainia by Maf + Eagle
- /songs/1995/mod/b/bornin57.zip 108 *** XX: Born in 1957 by Dave
- /songs/1995/mod/c/campaign.zip 218 **+ XX: Virulent Campaign by Sonic
- /songs/1995/mod/c/can_pas.zip 162 *** XX: Canned Passion by Dep
- /songs/1995/mod/c/caphlame.zip 211 *+ XX: Caph and Lamed by Prick
- /songs/1995/mod/c/cascade.zip 240 ** XX: Cascade Fsol by The Fox II
- /songs/1995/mod/c/chaseit.zip 162 *** XX: Chaseit by Vincent
- /songs/1995/mod/c/china.zip 229 ** XX: China by Al Bundy
- /songs/1995/mod/c/chr_monk.zip 390 *** XX: Trance Monks by Chronic
- /songs/1995/mod/c/classic.zip 255 ** XX: Classical Interrupt by CDK
- /songs/1995/mod/c/cloudz.zip 361 **+ XX: Behind the Cloudz by Bier
- /songs/1995/mod/c/co-coco.zip 171 *** XX: Co-Cocorico by Shad + Live
- /songs/1995/mod/c/collecti.zip 364 **+ XX: Collective H. Compo by Wax
- /songs/1995/mod/c/complete.zip 153 ***+ XX: Complete Disaster by Psycho
- /songs/1995/mod/c/control.zip 224 *** XX: Control by Hilander
- /songs/1995/mod/c/cracklin.zip 230 * XX: Crackling Turd by Taste
- /songs/1995/mod/c/crazy_s.zip 266 ***+ XX: Crazy, Sexy, Cool by Virgill
- /songs/1995/mod/c/creature.zip 289 *** XX: Creature by Odie
- /songs/1995/mod/d/do_you_l.zip 209 *+ XX: Do You Love by VVV,MJK
- /songs/1995/mod/d/dragonbr.zip 406 ** XX: Dragon Breath by Black Dragon
- /songs/1995/mod/d/dreamvoy.zip 147 ***+ XX: Dream Voyage by Gizmo
- /songs/1995/mod/e/easy_lis.zip 144 **+ XX: Easy Listening by Bohdi
- /songs/1995/other/ecnofunx.zip 369 [n/a] XX: Ecno Funx by Gigantbox
- /songs/1995/mod/e/en_el_ca.zip 167 **** XX: En el Cafe by Tiny
- /songs/1995/mod/e/especial.zip 100 **** XX: Espcial Special by Knaekpolsen
- /songs/1995/mod/e/exrcompt.zip 220 ***+ XX: Exrcomptun by Elixir
- /songs/1995/mod/f/field-da.zip 507 **** XX: Field-Day by Scorpik
- /songs/1995/mod/f/forever_.zip 362 *+ XX: Forever Love by Trance
- /songs/1995/mod/f/ft_magic.zip 233 ** XX: FT Magic Sound by Thiesen
- /songs/1995/mod/g/gettings.zip 193 ** XX: Getting Started by Knox
- /songs/1995/mod/g/gluppobe.zip 373 ***+ XX: Gluppobert by Quazar
- /songs/1995/mod/g/gnaule.zip 240 **+ XX: Gnaule by Doh
- /songs/1995/mod/g/god_of_.zip 254 ** XX: God of Errors 2 by Raze
- /songs/1995/mod/g/goingtot.zip 204 **+ XX: Going to the Top by Mot,Istari
- /songs/1995/mod/g/greenday.zip 275 ** XX: Greenday Thing by Futuremind
- /songs/1995/mod/h/hei-bang.zip 55 + XX: Bim Bom Bam by HeiZahn
- /songs/1995/mod/h/hey_skat.zip 251 ** XX: Hey Skat by Splif
- /songs/1995/mod/h/higher_a.zip 193 **+ XX: Higher by Randall,Eracore
- /songs/1995/mod/h/hooyowyc.zip 170 ***+ XX: Hoyowy Chrzaszcz by Spiryt,Ils
- /songs/1995/mod/i/iconbast.zip 197 *+ XX: Iconbastic by Maytz
- /songs/1995/mod/i/illusion.zip 172 ***+ XX: Illusion by Trance
- /songs/1995/mod/i/in_addic.zip 225 **+ XX: In Addiction by TNT
- /songs/1995/mod/i/in_my_ba.zip 286 *** XX: In My Backyard by Fender
- /songs/1995/mod/i/innertra.zip 130 **+ XX: Innertrance by KTN
- /songs/1995/mod/j/jazztime.zip 69 ** XX: It's Jazztime by Sector
- /songs/1995/mod/j/jerry-sh.zip 444 **** XX: Jerry-Shop by Dan,Norby
- /songs/1995/mod/k/kickin_i.zip 182 **+ XX: Kickin It Playback by Mortimer
- /songs/1995/mod/k/kresten_.zip 161 *** XX: Buddha Medly by DTS
- /songs/1995/mod/l/live_for.zip 115 ** XX: Live Forever by Trapdoor
- /songs/1995/mod/m/m-caviar.zip 141 ***+ XX: Compact Caviar by Mystical
- /songs/1995/mod/m/manic_fi.zip 217 *+ XX: Manic Filters by Decybel
- /songs/1995/mod/m/marching.zip 102 *+ XX: Marching Elefants by X-Cess
- /songs/1995/mod/m/media-te.zip 231 **+ XX: Media Techno Popicus by Speedy
- /songs/1995/mod/m/mellow_t.zip 225 ** XX: Mellow Technology by Klorathy
- /songs/1995/mod/m/morning-.zip 126 ***+ XX: Morning by Dan Dryer
- /songs/1995/mod/m/mountain.zip 404 *** XX: Mountain High by Tricktrax
- /songs/1995/mod/m/mystics.zip 205 ** XX: Mystic by Speck
- /songs/1995/mod/n/neat_com.zip 373 ** XX: Neat by Trickster
- /songs/1995/mod/n/nowasyn.zip 220 *+ XX: Nowasyn by Nowawes
- /songs/1995/mod/o/obsessio.zip 156 *** XX: Obsession by Zoomorph
- /songs/1995/mod/o/omega.zip 196 ** XX: Omega by Smooth
- /songs/1995/mod/o/out_of_g.zip 155 **+ XX: Out of Goa by Yogi
- /songs/1995/mod/p/plutoniu.zip 146 *+ XX: Plutonium 239 by Tls
- /songs/1995/mod/r/r0undab0.zip 87 ***+ XX: Roundabout by Boon
- /songs/1995/mod/r/rave_tri.zip 196 * XX: Rave Trip by X-et
- /songs/1995/mod/r/rocks.zip 226 *** XX: On the Rocks by Necros
- /songs/1995/mod/s/saa_smuk.zip 227 *+ XX: Saa Smukt er Havet by Kim
- /songs/1995/mod/s/sassy_as.zip 210 *+ XX: Sassy Assline by Muttley
- /songs/1995/mod/s/screwdri.zip 148 *+ XX: Screwdriver Disaster by Coma
- /songs/1995/mod/s/shake_yo.zip 108 *** XX: Shake Body by C.Cool,Avocado
- /songs/1995/mod/s/should_t.zip 172 * XX: Should Turn to B by Tarmslyng
- /songs/1995/mod/s/smooth_a.zip 247 **+ XX: Smooth Attack by Pman
- /songs/1995/mod/s/sorry.zip 82 ** XX: Sorry to Party by Dixan
- /songs/1995/mod/s/space_fi.zip 115 **+ XX: Space Fish in Sig T3 by Pixie
- /songs/1995/mod/s/spacelab.zip 259 ** XX: Spacelab 9 by Shane
- /songs/1995/mod/s/spiral_m.zip 333 **+ XX: Spiral Mechanism by Shout
- /songs/1995/mod/s/suddenin.zip 334 ** XX: Sudden Inspiration by Hille
- /songs/1995/mod/s/sw-wart.zip 211 ***+ XX: Wart by Damac,Swallow
- /songs/1995/mod/s/syndrome.zip 226 *** XX: Syndrome by POW
- /songs/1995/mod/s/syntacti.zip 149 *** XX: Syntactic Sugar by Mittlag
- /songs/1995/mod/t/the_fire.zip 115 ** XX: The Fire Bird by Notman
- /songs/1995/other/the_madd.zip 65 [n/a] XX: MADDog in Acid World by Lasse
- /songs/1995/mod/t/the_milk.zip 205 ** XX: The Milkman by Weezer
- /songs/1995/mod/t/the_over.zip 268 ***+ XX: The Overture 2 by Front 6
- /songs/1995/mod/t/theatric.zip 170 ** XX: Theatrical by Deck
- /songs/1995/other/theparty.zip 478 [n/a] XX: The Party by Gunni
- /songs/1995/mod/t/too_much.zip 275 *** XX: Too Much by Marc
- /songs/1995/mod/t/totalecl.zip 531 *** XX: Total-Eclipse by Zany (check)
- /songs/1995/mod/t/trans-s.zip 111 **+ XX: Trance-Sax-Ual by Ktn
- /songs/1995/mod/f/tvnet.zip 593 ***+ XX: TV Network by Cash
- /songs/1995/mod/t/tzjim-sc.zip 64 ** XX: Tzjim Schack by Swaxi
- /songs/1995/mod/v/vandpibe.zip 154 * XX: Vandpibe by Jeronimus
- /songs/1995/mod/v/vatican.zip 12 *+ XX: Vatican Rag by Hubert
- /songs/1995/mod/v/vermins-.zip 76 ** XX: Vermins Eat Dust by Dr.Strange
- /songs/1995/mod/v/visionai.zip 395 *** XX: Visionaire by Bethoven
- /songs/1995/mod/x/xact_ple.zip 207 *** XX: Xact Pleasure by NFC
- /songs/1995/mod/z/zyr.zip 124 **+ XX: Zyrian by S. Koponen
-
- =----------------------------------------------------------[Graphics:General]-=
- Location /demos/graphics Size Rated Description
- =-------------------------------- ---- ----- ---------------------------------=
- /disks/1996/fredpack.zip 257 ***+ VGA Pack by Fred Beltran
- /images/1996/b/b2p3_1.zip 16 *+ Billy Baygle by E.Megas
-
- EXE 95 Graphics (EXE95:grfx:)
- /images/1995/w/wrd_alie.zip 22 *** 03: Alie by Ward
- /images/1995/e/eye_drkf.zip 29 **+ ??: Eye by ???
- /images/1995/f/farao.zip 90 ***+ ??: Farao by ???
- /images/1995/l/lany.zip 56 **+ ??: Lany by ???
- /images/1995/m/magic.zip 48 ** ??: Magic by ???
- /images/1995/s/sarkany.zip 101 [n/a] ??: Sarkany by ???
-
- The Party 95 Graphics (TP95:grfx:)
- /images/1995/s/spacetit.zip 170 ****+ 01: Space Tits by Danny
- /images/1995/0-9/8climber.zip 132 **** 02: Climber by Rodney
- /images/1995/a/animalre.zip 51 *** 06: Animal Reign by Made
- /images/1995/s/silicon.zip 153 **+ 09: Silicon by Louie
- /images/1995/s/smorrebr.zip 169 ** 13: Smorrebr by Facet
- /images/1995/c/cutechri.zip 84 ***+ 14: Cute Christina by Dice
- /images/1995/t/theevils.zip 120 **+ 18: The Evils by Spawn
- /images/1995/e/eldar.zip 67 ** 21: Eldar by Hook
- /images/1995/r/ratman.zip 76 ***+ 39: Ratman by Darkman
- /images/1995/j/jansson.zip 17 ** 43: Gamla by Saffron
- /images/1995/p/picturet.zip 79 **+ 46: Picture T by Bifrost
- /images/1995/b/beyond_n.zip 138 *** 47: Beyond N by JCS
- /images/1995/s/sn-nuke.zip 15 **+ 52: Nuclear Waste by Moebius
- /images/1995/s/splitter.arj 64 ** 53: Splitter by Rad Ad
- /images/1995/c/champagn.zip 63 ** 55: Champagne by Fiver
- /images/1995/t/theraid.zip 41 **+ 74: The Raid by Damac
- /images/1995/o/osiris.zip 68 + 89: Osiris by Balkis
- /images/1995/a/assassin.zip 65 *+ ??: ??? by ???
- /images/1995/o/ofdeath.zip 40 **+ ??: ??? by ???
- /images/1995/s/spacefis.zip 40 **+ ??: Space Fist by Pixie
- /images/1995/w/wildbgan.zip 202 *** ??: ??? by ???
-
- =----------------------------------------------------[Miscellaneous:Reviewed]-=
- Location /demos Size Rated Description
- =-------------------------------- ---- ----- ---------------------------------=
- /mags/1996/cheese1.zip 217 **+ Cheese #1 by TKB
-
-
- =-[Articles]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- =---------------------------------------------------[Introduction]--[Snowman]-=
-
- Hello all, and welcome to DemoNews issue 116.
-
- Our little ftp.cdrom.com server is feeling better after a bout with a bad
- mount. The /.11 drive (the Ada archive) went bad. Around the same time,
- some sort of file integrity error was detected on the mount that housed
- everyone's home directories. Many of us were without an outside world
- mail-feed for about four days. Upon restart, the clock on the server was
- set ahead about 2.5 years. This seemed to cause problems with the
- listserver but everything appears to be working correctly now.
-
- On an unrelated note, I am now the /pub/perl archive maintainer. My
- responsibilities exist solely of checking up on a crontab mirroring job.
- If only /pub/demos were that easy. :)
-
- E. Megas wrote me and said that we should have some more "demo news" (i.e.
- more news about the scene). I agree. Please send me some to print.
-
- Our /pub/demos/code mirror opened up this week. See "File Information"
- above for more details.
-
- There will be some very big changes coming up in the way we catalog files.
- We are totally redesigning from the ground up the way we handle file
- descriptions and other attributes. For those of you who are old enough to
- remember, we used to have an external .txt file for each .zip on the site
- (kind of like a file_id.diz). This made things easy to move around (didn't
- have to update 00index.txt files) but wasn't very friendly.
-
- We then moved on to 00index.txt files, which made for somewhat easy
- recursive subdirectory traversal in generating an ALLFILES.TXT. This was
- fine for a while but for several reasons we have decided to go to a
- MASTER.LST format, propagating all descriptions down through the directory
- tree (rather than the other way around). If this doesn't make sense or
- sounds boring, that's ok. You'll see benefits soon enough. :)
-
- I have recently started playing a new game. It's called "Make a Demo CD".
- The goals are to make the scene happy and earn money for your company. The
- penalties are getting sued for copyright violations and loosing respect
- with the scene. I'm just a newbie at this so I haven't progressed very
- far. I will either have beaten this game or been disqualified by May 14th,
- 1996. If any of you know some cheat codes, I'd love to hear them. In about
- three weeks I'll talk about the multi-player edition.
-
- On a final note, we are a bit behind on getting DemoNews out. The "Top
- Downloads" needs to be done weekly to provide any sort of stable statistics.
- As a result, expect to see two more issues of this newsletter before next
- monday.
-
- Take care.
-
- Snowman / Hornet - r3cgm@cdrom.com
-
-
- =-------------------------------[Intro to 3D Graphics - Volume 02]--[Kiwidog]-=
-
- _____Greetings
-
- Welcome back everyone.
-
- It's time for the second article in the 3D series, in which we cover
- another basic element of a 3D system... something seen in nearly ever demo
- for the past few years that involves vectors at all. Rotation. Whether it
- be that nice texture-mapped stone from Valhalla's "Solstice", or just a
- flat-shaded cube from a 4k intro, things rotate almost constantly. So it's
- time to start performing some rotations on our own. :-)
-
- Once again, there will be a supplement to this article, but this time there
- will be no extra article text; everything should be in here. But the
- supplement will have sample code, so you still should get it.
- DN115_3D.ZIP. Just check in the same place on ftp.cdrom.com as the last
- supplement...
-
- I'm going to keep this article relatively short (along with the subsequent
- ones)... after all, Snowman has more to put in DemoNews than my constant
- rambling, and I can't keep sucking up all the space like this. ;)
- Nonetheless, I hope you find this article useful, as we continue our drive
- toward learning 3D graphics.
-
- Ready? Well like it or not, here we go! :)
-
- _____Section One - 2D Rotation
-
- Before we can get more sophisticated 3D rotations going, we need to try it
- in two dimensions first... because 3D rotations are just based on three 2D
- rotations, but combined.
-
- So how do we rotate something in 2D? How do we take any 2D point, give it
- an angle to rotate by about the origin, and get it correctly to its new
- position? Well this is where that Trig knowledge from the first article
- comes into play.
-
- Everything about rotation involves Trig. Sine and Cosine are very much
- your friends here. And it's not that complicated, really... you can rotate
- in one plane with only 4 multiplies (other optimizations come later as
- well).
-
- So how do we go about this? Well, let's take it piece by piece. First,
- I'll assume the XY plane (the real one, where Y goes up) for this, as we
- try to take a point and rotate it.
-
- A lot of docs, when trying to explain rotation, will give you the simple
- equations for it but give you no clue as to how those equations came about.
- Several people have asked me, "Hey, if and when you ever do a 3D tutorial,
- tell me how the heck you get those rotation equations, cuz I have no idea
- where those came from and why they work."
-
- Well, I can't quite tell you where they came from at first (like who
- thought of them), but I can replicate the ideas here and show you what
- makes sense to me. If it makes sense to you to, then I guess it worked.
- :-)
-
- Here's the idea...
-
- Get out a piece of paper. No, don't worry, this isn't a quiz. ;)
-
- On the paper, draw a pair of conventional XY coordinate axes, and then
- lightly sketch a large circle on it. Make sure the circle is light; you
- don't really need it for much except placing a couple points.
-
- After you draw the circle, put a point at about, say, 30 degrees (assuming
- 0 degrees is to the right and the angles go counterclockwise). Then put
- another point at about 70 degrees, in the same fashion. We're going to
- pretend that the first point is our original point, and that we're trying
- to rotate it to the second point, our destination... a rotation of 40
- degrees about the origin. The actual accuracy of the points doesn't
- matter; if you're a bit off, it's fine.
-
- Now with each point, draw a triangle for that point. Each triangle's three
- sides are the X axis, the the line from the origin to the point, and the
- line from the point straight down to the X axis. What you should have now
- are two right triangles in the upper right quadrant of your XY plane, one
- being pretty upright (the destination point's), and the other a bit more
- wide than tall.
-
- Time for some labels... okay, for each triangle, label the line going from
- the origin to the point as "R" (for radius). Since it's the same length
- for both triangles, we use the same label. Now, on the first triangle (the
- short, wide one), label the side along the X axis "X", for that length.
- Likewise, label the line from the X axis up to the point as "Y" for that
- height.
-
- For the second triangle (the tall one, for the 70 degree point), label the
- X length and Y height as "U" and "V", respectively, in a similar fashion.
-
- Finally, we need two angles. In the angle between the X axis and the
- first, lower R side (30 degrees), label it m (called Phi). Then label the
- angle between the lower R and the higher R (the one at 70 degrees) as i
- (called Theta).
-
- There we go... we've got our drawing. :-) If my little walkthrough in
- drawing this has confused you to no end, either try it again from the
- beginning, or look in the supplement; I'll include a PCX in there of this
- same diagram I'm describing.
-
- Okay, so we have this drawing. Basically, what we know in the beginning is
- that we have this initial point at an unknown angle (we know it's 30
- degrees in this example, but normally, you won't know that for arbitrary
- points), yet we know it has Cartesian coordinates (X,Y). What we want to
- do is pump X and Y through an equation or two, along with the angle we want
- to rotate by (which we labeled as Theta, and in this example is 40
- degrees), and find out its new coordinates, called (U,V). So what
- equations do we use? Let's find out...
-
- There are several convenient identities in Trigonometry that you can find
- in pretty much every math textbook with Trig in it.... one of those
- identities is called the "Law of Sines", which goes like this...
-
- Sin(`) Sin(a) Sin(b)
- ------ = ------ = ------
- A B C
-
- Where A, B, and C are the lengths of the sides of a triangle, and `, a, and
- b are the angles _directly opposite_ those sides...
-
- /|
- /a|
- C / |
- / |A
- / |
- / |
- /` b|
- --------
- B
-
- It doesn't have to be a right triangle; it works for every triangle there
- is. Granted, for our purposes, we _will_ be using our right triangles, and
- this will help us out.
-
- Now if we use our first right triangle, the short one, and pretend that R
- is our "C" of the triangle, by the fact that this is a right triangle, we
- know that b is 90 degrees. And the Sine of 90 is 1, which gives us one
- very nice piece of math meat.
-
- We only need to use one other side of our Law of Sines formula in this
- example, in this case, the A-` side. In our case, "A" is the same as Y,
- and ` is the same as m. So we have a little mini-formula,
-
- Sin(90) Sin(m) 1 Sin(m)
- ------- = ------ which means --- = ------
- R Y R Y
-
- Then, if you multiply each side by Y, it moves the Y to the left side, so
-
- Y
- --- = Sin(m)
- R
-
- This should all make sense so far, I hope. If you're looking at the
- diagram as you read this, it should clear things up a bit.
-
- Okay, so we can see the relation between the angle m, and the sides Y and
- R. Well since m is across from Y, shouldn't we be able to have the same
- kind of relation for the other triangle, with V and R? The angle across
- from V is just m and i added together, so shouldn't that work?
-
- Sure does. :-)
-
- V
- --- = Sin(m+i)
- R
-
- Okay, time for another nifty Trig identity (BTW, if you don't have a math
- book with all these identities in it, let me know... if enough people ask
- for a listing, I'll type up a quick reference list with identity equations
- that you can use. Just email to the address at the end, if you think you'd
- like that :)
-
- Anyway, another nice identity is that for any two angles ` and a,
-
- Sin(`+a) = Sin(`)*Cos(a) + Cos(`)*Sin(a)
-
- So we sub that into our previous thing, and we have
-
- V
- --- = Sin(m)*Cos(i) + Cos(m)*Sin(i)
- R
-
- Multiply by R now, to get V (the destination point's X value that we've
- been trying to find), and it's
-
- V = R*Sin(m)*Cos(i) + R*Cos(m)*Sin(i)
-
- Welp, last identity.... this one, taken from Polar coordinates. If you've
- had algebra, you've used Polar coordinates before. Well if you remember
- the way to convert a polar point to Cartesian (I doubt you do, so I'll
- remind you... it's gonna take a while before you end up memorizing all
- these darn formulas, trust me :) those conversions are
-
- X = R*Cos(Theta) *** Don't confuse these with our R, X, or Y!
- Y = R*Sin(Theta) They're just conversion equations ***
-
- Well look at our V equation above... notice anything? We know Phi is an
- angle in the triangle that deals only with X and Y, which we know (since
- they're just your first point and all). So can we drop those R*Sin(m) and
- R*Cos(m) parts and just sub in X and Y like you would do with Polar? You
- betcha.....
-
- V = Y*Cos(i) + X*Sin(i) *** FINAL V EQUATION!!! :) ***
-
- That's all we need! Hooray! :) We know X and Y, since we started with
- those. And we know i, since it's the number of degrees we want to rotate
- by (in our example, 40 degrees). So if we use this equation, we get the V
- value, which is the Y coordinate of the FINAL point. :)
-
- Now we still need to get U (the final point's X coordinate). Luckily, the
- series of equations is the same almost, except one identity is different. I
- won't work out the whole thing again, you can do that if you want. But
- here are the differences that you'll see. One, since we're doing the
- horizontal element instead of vertical,
-
- U
- --- = Cos(m+i)
- R
-
- Now's Cosine's Sum of Angles formula is a little bit different than Sine's,
-
- Cos(`+a) = Cos(`)*Cos(a) - Sin(`)*Sin(a)
-
- which will end up giving us that subtraction instead of addition in the
- end. If you keep working the equations the same as we did before, but with
- this new identity, you get the U equation too! :)
-
- U = X*Cos(i) - Y*Sin(i) *** FINAL U EQUATION!!! ***
-
-
- Summing up those equations into nice, happy, 2D rotation form.....
-
-
- NewX = (OldX*Cos(Theta)) - (OldY*Sin(Theta))
- NewY = (OldY*Cos(Theta)) + (OldX*Sin(Theta))
-
- And there we have it! Note that I made it very clear as to the difference
- between the "Old" and "New" values. It's important that you do this, too.
- You don't want to just use a value "X", for example.... because if you
- calculate the "new" X and end up using that instead of the "old" X in the
- second equation (for NewY), you don't get the right rotation.
-
- IN ROTATION, USE ONLY THE OLD VALUES UNTIL ALL THE NEW ONES ARE FOUND!
-
- Once you have the final new X and Y values, _THEN_ replace the old pair
- with the new pair, and go on your way. Make sure to keep the values
- separate until that time.
-
- BTW... As you look back at how I derived these rotation formulas, don't
- feel bad if you feel like you couldn't have derived them yourself...
- especially if you're just beginning. I know I ran on these formulas
- blindly for over a year before I ended up losing them and was forced to
- recreate them again in this fashion. I couldn't have done it earlier. It
- takes time, so if you feel like you're still in the dark... don't.
- Eventually you'll get the hang of it all. :-)
-
- Any more to 2D rotation? Nope, that's the whole of it. Before you try out
- 3D rotation (explained in the next section), test out the above principles
- in some of your own code, by plotting a few pixels here and there and then
- rotating them about the origin. It's not hard at all to turn the above
- formulas (formulae?) into code. Also, if you need some help or are just
- plain curious, I've got some example source (in both Pascal and C, just
- like last time) in the supplement, demonstrating this stuff. Feel free to
- check it out. :)
-
- Okay, well, enough of this planar stuff.... on to 3D rotations! (And
- relax, there's not much more; you've done the bulk of the work already....)
-
- _____Section Two - 3D Rotation
-
- So what do we need to turn our rotations into 3D rotations? Not much,
- actually. There are many ways to do rotations in 3D, some simpler than
- others. The simplest (and most common from what I've seen) way is to do it
- by using three 2D rotations, one for each axis.
-
- The 2D rotations we did in the last section are on the XY plane. But as
- you think about the XY plane in terms of 3D, the rotation takes on another
- meaning... it was also a rotation ABOUT the Z axis. Meaning that we have
- the Z axis, and whatever Z values the points may have, they stay the same,
- as we are rotating around that axis itself. The only values that change in
- a rotation about any axis are the values of the two OTHER coordinates.
-
- So a rotation about Z will affect X and Y, a rotation about X will affect Y
- and Z, and a rotation about Y will affect Z and X. It's just one big
- cycle...
-
- So if we want to do a full all-axis 3D rotation, we just arrange three
- back-to-back 2D rotations, one for each axis, like this...
-
- NewY = (OldY*Cos(ThetaX)) - (OldZ*Sin(ThetaX)) ** X axis rotation **
- NewZ = (OldZ*Cos(ThetaX)) + (OldY*Sin(ThetaX))
-
- (Copy NewY and NewZ into OldY and OldZ)
-
- NewZ = (OldZ*Cos(ThetaY)) - (OldX*Sin(ThetaY)) ** Y axis rotation **
- NewX = (OldX*Cos(ThetaY)) + (OldZ*Sin(ThetaY))
-
- (Copy NewZ and NewX into OldZ and OldX)
-
- NewX = (OldX*Cos(ThetaZ)) - (OldY*Sin(ThetaZ)) ** Z axis rotation **
- NewY = (OldY*Cos(ThetaZ)) + (OldX*Sin(ThetaZ))
-
- (No copies needed, since we're done)
-
- The reasons for mid-copies are like I said; for each axis rotation you need
- to keep using the old values until both the new ones are done. But each
- axis' rotation is independent of the other two... so after each pair, you
- need to update all the values before going on to the next axis. You don't
- want to use one axis' old values when going into rotating about another
- axis; that would be bad.
-
- Once you've done all three axes, you should have your new point, completely
- rotated about each angle as you wish (ThetaX, ThetaY, and ThetaZ).
-
- One important point... the order in which you do these axes DOES make a
- difference. Rotating in an X-Y-Z sequence will not give you the same
- results as rotating in a Z-X-Y sequence, etc. Now, for your engine at this
- point, all you're probably concerned about is looks, i.e. that your object
- is rotating and you can see it rotating. Since that's the case, it really
- doesn't matter for the moment which order you do things in. It's the
- appearance that counts. But later on, when you get into more complex
- issues that involve more things than just a set of points, you'll want to
- keep your rotation order consistent. I just use X-Y-Z because it's pretty
- natural. :-)
-
- I'm not going to get into optimizations of this rotation material until
- another time, but I can give you a hint or two now... first, you'll notice
- that right now it's at 12 multiplies for a full rotation (4 for each axis).
- But it turns out you can reduce it to at least 9 multiplies, by
- precalculating a few values at the beginning of each frame and getting a
- final 3x3 matrix for the actual point rotations themselves (if you don't
- know what I mean by matrix, don't worry about it at the moment; we'll get
- into matrices later on). It's something to look into, if you're curious
- and feel like tinkering with the math a bit.
-
- Also, once again, this method of rotation is only one way to rotate. There
- are other ways, sometimes involving other coordinate systems, that can be
- more efficient on occasion as well. You'll discover those in time (and
- probably in some of the later articles :) But for now, this I think is the
- simplest way to begin... get these concepts down first, and drill them into
- your brain. You'll know when to switch gears when the time comes.
-
- Well, looks like the end of another article! I've got some sample source
- in the supplement, as well as a PCX of that 2D rotation diagram, if you got
- lost in all of this mess. :-) Take the time to look at the code, see how
- it relates to the math used in here, and most importantly, DO SOME
- EXPERIMENTATION ON YOUR OWN. This kinda stuff isn't learned by reading,
- it's learned by doing.
-
- Now go forth, plot some dots, get them spinning, and have fun! Keep
- watching, though... 'cause it's only gonna get better. :-)
-
- See you next time...
-
- Kiwidog / Hornet , Terraformer - kiwidog@vt.edu
-
-
- =----------------------------------[VGA Hardware Tricks, Part 4/6]--[Trixter]-=
-
- _____Preface
-
- Welcome to VGA Hardware Tricks, a six-part series written by
- Trixter/Hornet. In this series, I'll be exploring ways you can push VGA
- harder to achieve new effects. The emphasis of this series is twofold:
-
- The techniques discussed will work on any *standard* VGA card. (No SVGA or
- VESA video cards are necessary, but these techniques will work on those
- cards as well.)
-
- The techniques discussed require very little calculation, so they will work
- on slower computers. (Some techniques, however, requires a lot of CPU
- *attention*, which means that while the effects are happening, they can't
- be disturbed by other calculations, etc. Good Assembler programmers might
- be able to get around this, however.)
-
- This series is for intermediate to advanced coders, so there are a couple
- of prerequisites you should meet: Example code will be given in assembler
- and Pascal, so familiarity with those languages will be helpful when
- looking at the example code; also, a familiarity with Mode X (unchained
- VGA) is required, as procedures like changing video resolutions will be
- discussed.
-
- This series covers six topics:
-
- - Crossfading 16-color pictures
- - Crossfading 256-color pictures
- - More than 256 colors: 12-bit color
- - More than 256 colors: 18-bit color (this article)
- - Copper effects in text mode
- - Displaying graphics in text mode
-
- _____Introduction
-
- Yes, you read that title right--we're going to display 18-bit color on a
- piece of hardware only built for 8-bit color. Seem impossible?
- Technically, it is. But using our old friend, persistence of vision, we
- can fake it convincingly--and the best part is, it's not CPU intensive at
- all, just a clever arrangement of pixels.
-
- (Note: This technique has been so overused in 1995 that, initially, I
- thought it would need no explanation; just some example code and that would
- be it. However, there is inevitably someone, somewhere, that doesn't
- really grasp how this works. So, I feel a full explanation is necessary.)
-
- As I've written about many times before, our brain is a very lazy thing. So
- lazy, in fact, that it tends to fill in information that our eyes don't
- provide. This is called Persistence Of Vision. (If you need a more
- detailed explanation of what that is, look at previous VGA Hardware Tricks
- articles or visit your local library.) Persistence Of Vision has been used
- in many places before computers even existed, like the concept of film and
- television. It's television, in fact, that provides us with the example
- we'll use to coax 18-bit (262,144) color out of out 8-bit (256) color video
- card.
-
- If you've ever gotten curious as to how your television or computer monitor
- works, you might have gone right up to the screen and looked at it closely,
- possibly with a magnifying glass. If you'd had, you'd see a small hexagonal
- grid of red, green, and blue dots. They're arranged in groups of three,
- like this:
-
- X
-
- X X
-
- This arrangement is called a "triad". Each red, green, and blue dot in a
- triad glow with a different intensity, producing one solid color. (Well,
- it's not exactly a *solid* color, but the dots are so small and close
- together that POV blends them into one color for us.) The entire screen is
- made up of triads.
-
- To produce 18-bit color, all we have to do is emulate a series of
- triads--that is, put a red, green, and blue pixel next to each other and
- alter the intensity of all three to blend into a single color. This
- technique produces 18-bit color because the VGA hardware is capable of
- producing 6-bit (64) intensities of red, green, and blue for any given
- pixel. So, 6+6+6 = 18-bit color, or to look at it another way, 64 red
- values * 64 blue values * 64 green values = 262,144 possible colors.
-
- _____Implementing Triads
-
- To emulate a triad, we're going to need to set up the palette first. VGA is
- capable of 64 different intensities of red, green, and blue, so the palette
- needs to have 64 reds, 64 greens, and 64 blues. Pseudocode for doing that
- would probably look like this:
-
- for loop:=0 to 63 do begin
- set palette index "loop" to r=loop,g=0,b=0 <-- red entries
- set palette index "loop+64" to r=0,g=loop,b=0 <-- green entries
- set palette index "loop+128" to r=0,g=0,b=loop <-- blue entries
- end;
-
- This leaves 64 colors left over at the end of our palette (from 192 to
- 255), for anything we feel like doing.
-
- Now we get to plot the three pixels of a triad. Since VGA lays out pixels
- in a grid (as opposed to a "honeycomb" like an actual television screen),
- we have to lay them out on a grid as well. The best way is in a line, like
- this:
-
- Key: R = red pixel, G = green pixel, B = blue pixel
-
- 0 1 2 3 4 5 6 7 8 9
-
- 0 R R R R R R R R R R
- 1 G G G G G G G G G G
- 2 B B B B B B B B B B
-
- 3 R R R R R R R R R R
- 4 G G G G G G G G G G
- 5 B B B B B B B B B B
-
- etc. So, 18-bit color pixel "(0,0)" is really "red at (0,0)", "green at
- (0,1)", and "blue at (0,2)".
-
- _____Potential problems
-
- It sounds easy, doesn't it? Just put a red, green, and blue pixel next to
- each other and you've got one of those 262,144 colors. If you were to stop
- reading this article right now and jump to the compiler, you'd probably run
- into a problem as soon as you entered mode 13h: The pixels are big. *Way*
- too big. In fact, you'd have to sit about four feet away from the screen
- to ignore the fact that you're really looking at three pixels close
- together instead of a new color. Not only that, but each "pixel" is made
- up of three pixels arranged vertically, which is a really weird aspect
- ratio (the effective resolution is 320x66). In order to fix these
- problems, we've got to shrink the height of each pixel. But how can we
- make the pixels smaller?
-
- One solution that's tempting is to use a 640x480x256 VESA mode, or
- something similar. That defeats the whole purpose of this, because then a
- super-vga card would be required, and this series of articles is dedicated
- to achieving new effects on *standard* hardware. (Yes, not *everyone* has
- a super-vga card and monitor.) Besides, if you were going to limit your
- audience to a VESA mode, you might as well go all the way and use an actual
- 24-bit color mode anyway. Finally, 640x480x256 is 300K of video memory per
- page, which is too slow for animation (even on 486 machines).
-
- The solution, as it has been in the past, is to use Mode X. Mode X, as you
- recall, is a video mode created by unchaining the video RAM, so that you
- can (amongst many other things) alter the display resolution. It is easy
- to make a resolution of 320x400 (effectively 320x133) under Mode X, which
- helps a little, and actually gives us 2 video pages to work with. This is
- suitable for animation. If you need more pixels and something a little
- more accurate, 320x480 (effectively 320x160) comes close to the standard
- 320x200 1:1.3 aspect ratio that VGA users are used to. Because it's 480
- lines, it will work with all monitors.
-
- Believe it or not, you can actually go higher than that, to 320x600
- (effectively 320x200)! This mode was, to my knowledge, first used by Adam
- Bergstrom; in fact, his code is the code in the vgahard4.zip package
- described later in this article. Of course, this resolution is only
- possible on monitors that can display 800x600, because it uses 600 screen
- lines. It also uses 192k of the 256K of video ram we have access to, so
- that makes it even more unsuitable for animation. However, it's best for
- displaying static pictures; I used it for Hornet's NAID Party report
- (hrn-nrpt.zip on ftp.cdrom.com) to display "320x200" 24-bit color pictures
- (I shifted left (SHL) each RGB component down two bits before plotting to
- the screen).
-
- _____Code
-
- Code that achieves this effect is available on ftp.cdrom.com in the
- directory /pub/demos/hornet/demonews/vgahard in the file vgahard4.zip. This
- article is stored there as well. To compile the code directly, you'll need
- Turbo Pascal 7.0 or later. (The code can be compiled on earlier compilers
- as well, but some slight modification might be necessary.)
-
- _____Notes
-
- This method is extremely useful for animation, since there's no palette
- switching or page flipping required, unlike some other methods. It lends
- itself so well to this that it has become a "fad" effect for practically
- every demo after X14 / Orange first used it on the PC. The 18-bit color
- effect is sometimes called "Orange's 262144 color mode" as a result.
- Another demo that uses this is Just / Legend Design. (In fact, the entire
- demo is in that mode.)
-
- Ambience and Luminati by Tran claim 21-bit color; they achieve this by
- using two video pages and flipping between them rapidly, using two flipping
- pixels in one location to blend into a "third" pixel, similar to the 12-bit
- color technique covered in VGA Hardware Tricks #3. Once again, POV at
- work. ;) In order to achieve this, however, Tran has to reprogram the VGA
- registers, increasing the refresh rate of the screen so that it flips pages
- at nearly double it's normal rate, at 100Hz (100 times a second), giving an
- effect screen refresh rate of 50Hz. This mode is not completely compatible
- with all monitors, so I have not decided to cover it in this series.
- Captain Hook has written up a short article on it, however, so I expect
- you'll learn how to do it from him shortly.
-
- _____Next Time
-
- I'm not *quite* done with color, if you can believe that. Next time, I'll
- show you how to display 400 different colors at the same time--in *text
- mode*. :) If you're familiar with the "copper" chip inside every Amiga
- computer, you'll know what I'm talking about. Have fun experimenting until
- then!
-
- Trixter / Hornet - trixter@ftp.cdrom.com
-
-
- =-[Subscribing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- _____How to subscribe to DemoNews
-
- Mail to : listserver@unseen.aztec.co.za
- Body : subscribe demuan-list [first_name] [last_name]
-
- The listserver will send DemoNews to your e-mail's return address.
-
- _____Back Issues
-
- Older issues of DemoNews can be located under /demos/hornet/demonews.
- Newly released issues of DemoNews are posted to /demos/incoming/news.
-
-
- =-[Closing]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- For questions and comments, you can contact us at r3cgm@cdrom.com
- Your mail will be forwarded to the appropriate individual.
-
-
- ..........................................................End.of.DemoNews.116.
-
-
-